#include <bits/stdc++.h>
using namespace std;
//#define int long long
const int maxn = 100000+10;
int N, M, x, A[maxn], S[maxn];
double d[maxn], D[maxn];

inline int SS(int l, int r){
    return S[r] - S[l-1];
}

inline double DD(int l, int r){
    return D[l] - D[r+1];
}

int find(int L){
    int l = L, r = N;
    while (l <= r){
        int mid = l + (r-l)/2;
        if(x >= SS(L, mid)) l = mid+1;
        else r = mid-1;
    }
    return l-1;
}


signed main() {
    ios::sync_with_stdio(false);cin.tie(nullptr);
    cin >> N >> M;
    int maxx = 0;
    for (int i = 1; i <= N; ++i) {
        cin >> A[i];
        S[i] = S[i-1] + A[i];
        maxx = max(maxx, A[i]);
    }
    for (int i = 0; i < M; ++i) {
        cin >> x;
        if(x<maxx) {cout << "YNOI is good OI!" << "\n"; continue;}
        d[N] = 1;
        D[N] = 1;
        for (int j = N-1; j >=1; --j) {
            int f = find(j);
            d[j] = 1 + 1.0/(f-j+1)*DD(j+1, f+1);
            D[j] = D[j+1] + d[j];
        }
        cout << setprecision(2) << fixed << d[1] << "\n";
    }
    return 0;
}